Add Seqera Platform Automation side quest#968
Draft
adamrtalbot wants to merge 8 commits into
Draft
Conversation
Port the Platform Automation training module from the standalone
m42-platform-advanced-training repo into the training collection as a
single-page side quest, following the side_quests convention.
- docs/en/docs/side_quests/platform_automation/index.md: the guide,
with codespace badge, asset paths, and cd commands retargeted to
nextflow-io/training and side-quests/platform_automation/.
- side-quests/platform_automation/{terraform,seqerakit}: the Terraform
(compute-env, pipeline) and seqerakit assets, verbatim aside from
path/reference fixes and repaired code fences in the seqerakit README.
- .editorconfig: add 2-space rule for *.tf/*.tfvars (terraform fmt style).
Intentionally not added to the mkdocs nav or the side_quests index table.
Passes pre-commit (prettier, editorconfig, whitespace, eof), the heading
checker, terraform validate, and a non-strict mkdocs build.
Generated by Claude Code
The platform_automation side quest needs Terraform, the Seqera CLI (tw), and seqerakit. Add them to the dev image the same way the rest of the toolchain is managed (features baked into the codespaces-dev/local-dev image), not via setup.sh: - terraform: official devcontainers/features/terraform feature, pinned to 1.9.8 with tflint/terragrunt disabled. - tw: new local-features/seqera-cli feature, mirroring tower-agent but arch-aware (x86_64/arm64) so the multi-arch image build stays green. - seqerakit: added to the existing uv-tools feature (pure-Python uv tool). - hashicorp.terraform VS Code extension added to all three configs. The tools land in the prebuilt image once docker-devcontainer rebuilds on merge to master; the production devcontainer pulls that image. Generated by Claude Code
The assets moved from the repo root into side-quests/platform_automation/, so the root-relative `cd` commands broke mid-sequence: after cd-ing into terraform/compute-env, a later `cd side-quests/platform_automation/seqerakit` fails. Make every `cd` absolute (/workspaces/training/...) so each step works from wherever the previous one left the learner, matching the absolute-path convention used elsewhere in the side quests. Also drop the stale "ends with 'Toolchain ready'" line: that string came from the standalone repo's setup.sh and is not printed by the training devcontainer. Generated by Claude Code
…st next step Add Terraform ignore rules so learner-generated terraform.tfvars and *.tfstate (both contain Azure credentials) are not committed; the committed *.tfvars.example files stay tracked. Point the "What's next?" cross-reference at the in-site Building with Seqera AI (CoScientist) side quest instead of a generic GitHub link. Generated by Claude Code
✅ Deploy Preview for nextflow-training ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Contributor
|
Nextflow linting complete!
💡 Tip: Click filename locations to go directly to that code. View all 70 issuesView formatting changes
|
tower-cli publishes no tw-linux-arm64 asset, so the multi-arch image build 404'd on the arm64 leg. Keep the native binary on x86_64 and fall back to the arch-independent tw-jar.jar (run via Java) on arm64. Generated by Claude Code
Section 0 jumped from opening the Codespace straight to creating a token, never walking participants into the working directory or showing its contents. Add "Move into the project directory" (cd + code .) and "Review the materials" (directory tree) subsections, matching the debugging side quest pattern. Generated by Claude Code
… workshop handle Review pass on the Platform Automation side quest: - Reset terraform/pipeline revision to master so the §2.4 pin-a-tag exercise starts from the right state - Sync §1.3 walkthrough with compute-env/main.tf (head VM size, worker ignore_changes, random_string, a note on the azcopy/Fusion start task) - Replace the $USER/$USERNAME interpolation mess with a single, dot-free WORKSHOP_USER handle set once and reused across the UI, tw, seqerakit and Terraform; tighten the Terraform username validation to reject dots - Register the page in mkdocs nav; refresh the §0 directory tree - Add seqerakit/launch-rnaseq-multiple.yml; drop per-directory READMEs - gitignore agent/terraform local state (.omc, .claude/.local, lock files) Generated by Claude Code
- !!! Tip -> !!! tip (lowercase type) - !!! Note Using a params.yml -> !!! note "Using a params file" (the unquoted title was parsed as CSS classes and dropped) Generated by Claude Code
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a new Seqera Platform Automation side quest that walks the Platform's programmatic surface across three workspace roles of decreasing privilege (Admin → Maintain → Launch), each handing an artifact to the next.
docs/en/docs/side_quests/platform_automation/index.md— create compute environments (Batch Forge UI + Terraform), add pipelines to the Launchpad four ways (UI,tw, seqerakit, Terraform), and launch (GUI,tw, seqerakit, Actions). The throughline is declarative existence (Terraform) vs imperative actions (UI,tw, seqerakit).side-quests/platform_automation/—terraform/compute-env/,terraform/pipeline/, andseqerakit/with*.tfvars.exampletemplates.hashicorp.terraformextension),tw(0.32.0), andseqerakit(0.5.7) to the toolchain.Notes
side_quests/index.mdtable in this PR.Verification
uv run .github/check_headings.py docs/en/docs/side_quests/platform_automation/index.md→ 0 errorsnpx prettier --checkon the lesson → passesgit check-ignoreconfirmsterraform.tfvars/*.tfstateare ignored while*.tfvars.examplestay trackedGenerated by Claude Code